package top.infopub.model.mkt;

import org.springframework.format.annotation.DateTimeFormat;
import top.infopub.enums.mkt.ProProcessDetailTypeEnum;
import top.infopub.generic.GenericEntity;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;

/** 项目信息公共表(MKT_PROJECT_INFO) **/
public class ProjectInfo extends GenericEntity  {

    private static final long serialVersionUID = 1L;

    /*PK*/
    private String id;
    /*PK*/
    public String getId(){
        return id;
    }

    //审批流程状态
    public String processStatus;

    public String getProcessStatus() {
        return processStatus;
    }
    //营销总额
    public  BigDecimal costMoney;

    public BigDecimal getCostMoney() {
        return costMoney;
    }

    public void setCostMoney(BigDecimal costMoney) {
        this.costMoney = costMoney;
    }

    public void setProcessStatus(String processStatus) {
        this.processStatus = processStatus;
    }

    public void setId(String id){
        this.id = id;
    }
    //申请人
    private String proposer;

    public String getProposer() {
        return proposer;
    }
    //申请单位
    private String applicant;

    //投标开始时间
    private  String bidStartDate;
    //投标结束时间
    private  String bidEndDate;

    public String getBidStartDate() {
        return bidStartDate;
    }

    public void setBidStartDate(String bidStartDate) {
        this.bidStartDate = bidStartDate;
    }

    public String getBidEndDate() {
        return bidEndDate;
    }

    public void setBidEndDate(String bidEndDate) {
        this.bidEndDate = bidEndDate;
    }

    public String getApplicant() {
        return applicant;
    }

    public void setApplicant(String applicant) {
        this.applicant = applicant;
    }

    public void setProposer(String proposer) {
        this.proposer = proposer;
    }

    /* 添加人 */
    private String addBy;

    public String getAddBy(){
        return addBy;
    }

    public void setAddBy(String addBy){
        this.addBy = addBy;
    }
    /* 添加时间 */
    @DateTimeFormat(pattern = "yyyy-MM-dd") //入参
    private Date addTime;

    public Date getAddTime(){
        return addTime;
    }

    public void setAddTime(Date addTime){
        this.addTime = addTime;
    }

    /* 回报机制 1=政府付费 2=可行性缺口补助 3=使用者付费 多个用,隔开 */
    private String backMech;

    public String getBackMech(){
        return backMech;
    }

    public void setBackMech(String backMech){
        this.backMech = backMech;
    }
    /* 招标代理机构 */
    private String bidAgent;

    public String getBidAgent(){
        return bidAgent;
    }

    public void setBidAgent(String bidAgent){
        this.bidAgent = bidAgent;
    }
    /* 建设周期（年） */
    private BigDecimal buildYears;

    public BigDecimal getBuildYears(){
        return buildYears;
    }

    public void setBuildYears(BigDecimal buildYears){
        this.buildYears = buildYears;
    }
    /* 回报指标-资本金回报率（%） */
    private BigDecimal capitalBackRate;

    public BigDecimal getCapitalBackRate(){
        return capitalBackRate;
    }

    public void setCapitalBackRate(BigDecimal capitalBackRate){
        this.capitalBackRate = capitalBackRate;
    }
    /* 资本金数额（万元） */
    private BigDecimal capitalFund;

    public BigDecimal getCapitalFund(){
        return capitalFund;
    }

    public void setCapitalFund(BigDecimal capitalFund){
        this.capitalFund = capitalFund;
    }
    /* 资本金比例（%） */
    private BigDecimal capitalPercent;

    public BigDecimal getCapitalPercent(){
        return capitalPercent;
    }

    public void setCapitalPercent(BigDecimal capitalPercent){
        this.capitalPercent = capitalPercent;
    }
    /* 实施机构 */
    private String carryOrg;

    public String getCarryOrg(){
        return carryOrg;
    }

    public void setCarryOrg(String carryOrg){
        this.carryOrg = carryOrg;
    }
    /* 建安工程费（万元） */
    private BigDecimal costCae;

    public BigDecimal getCostCae(){
        return costCae;
    }

    public void setCostCae(BigDecimal costCae){
        this.costCae = costCae;
    }
    /* 设备购置工程费（万元） */
    private BigDecimal deviceCost;

    public BigDecimal getDeviceCost(){
        return deviceCost;
    }

    public void setDeviceCost(BigDecimal deviceCost){
        this.deviceCost = deviceCost;
    }
    /* 回报指标-折现率（%） */
    private BigDecimal discountRate;

    public BigDecimal getDiscountRate(){
        return discountRate;
    }

    public void setDiscountRate(BigDecimal discountRate){
        this.discountRate = discountRate;
    }
    /* 回报指标-工程费用下浮率（%） */
    private BigDecimal downRate;

    public BigDecimal getDownRate(){
        return downRate;
    }

    public void setDownRate(BigDecimal downRate){
        this.downRate = downRate;
    }
    /* 回报指标-融资回报率（%） */
    private BigDecimal finBackRate;

    public BigDecimal getFinBackRate(){
        return finBackRate;
    }

    public void setFinBackRate(BigDecimal finBackRate){
        this.finBackRate = finBackRate;
    }
    /* 回报指标-建设期融资利率（%） */
    private BigDecimal finRate;

    public BigDecimal getFinRate(){
        return finRate;
    }

    public void setFinRate(BigDecimal finRate){
        this.finRate = finRate;
    }
    /* 铺底流动资金（万元） */
    private BigDecimal fluidCapital;

    public BigDecimal getFluidCapital(){
        return fluidCapital;
    }

    public void setFluidCapital(BigDecimal fluidCapital){
        this.fluidCapital = fluidCapital;
    }
    /* 项目渠道 1=自行获取 2=居间合作 */
    private String fromChannel;

    public String getFromChannel(){
        return fromChannel;
    }

    public void setFromChannel(String fromChannel){
        this.fromChannel = fromChannel;
    }

    /* 所属公司ID */
    private String hrOrgId;
    /* 所属公司 */
    private String compName;

    public String getCompName() {
        return compName;
    }

    public void setCompName(String compName) {
        this.compName = compName;
    }

    public String getHrOrgId(){
        return hrOrgId;
    }

    public void setHrOrgId(String hrOrgId){
        this.hrOrgId = hrOrgId;
    }

    /* 营销经理ID */
    private String hrStaffMktId;

    /* 营销经理 */
    private String staffName;

    public String getStaffName() {
        return staffName;
    }

    public void setStaffName(String staffName) {
        this.staffName = staffName;
    }

    public String getHrStaffMktId(){
        return hrStaffMktId;
    }

    public void setHrStaffMktId(String hrStaffMktId){
        this.hrStaffMktId = hrStaffMktId;
    }
    /* 回报指标-投资回报率（%） */
    private BigDecimal investBackRate;

    public BigDecimal getInvestBackRate(){
        return investBackRate;
    }

    public void setInvestBackRate(BigDecimal investBackRate){
        this.investBackRate = investBackRate;
    }
    /* 预备费（万元） */
    private BigDecimal inReadyCost;

    public BigDecimal getInReadyCost(){
        return inReadyCost;
    }

    public void setInReadyCost(BigDecimal inReadyCost){
        this.inReadyCost = inReadyCost;
    }
    /* 入库情况 0=未入库 1=已入库 */
    private String isInStore;

    public String getIsInStore(){
        return isInStore;
    }

    public void setIsInStore(String isInStore){
        this.isInStore = isInStore;
    }
    /* 居间方 */
    private String linkPower;

    public String getLinkPower(){
        return linkPower;
    }

    public void setLinkPower(String linkPower){
        this.linkPower = linkPower;
    }
    /* 其中：征地拆迁费（万元） */
    private BigDecimal moveOutCost;

    public BigDecimal getMoveOutCost(){
        return moveOutCost;
    }

    public void setMoveOutCost(BigDecimal moveOutCost){
        this.moveOutCost = moveOutCost;
    }
    /* 运营周期（年） */
    private BigDecimal omYears;

    public BigDecimal getOmYears(){
        return omYears;
    }

    public void setOmYears(BigDecimal omYears){
        this.omYears = omYears;
    }
    /* 工程建设其他费（万元） */
    private BigDecimal otherCost;

    public BigDecimal getOtherCost(){
        return otherCost;
    }

    public void setOtherCost(BigDecimal otherCost){
        this.otherCost = otherCost;
    }
    /* 建设期利息（万元） */
    private BigDecimal periodInterest;

    public BigDecimal getPeriodInterest(){
        return periodInterest;
    }

    public void setPeriodInterest(BigDecimal periodInterest){
        this.periodInterest = periodInterest;
    }

    /* 回报指标-合理利润率（%） */
    private BigDecimal profitRate;

    public BigDecimal getProfitRate(){
        return profitRate;
    }

    public void setProfitRate(BigDecimal profitRate){
        this.profitRate = profitRate;
    }
    /* 项目全局唯一编号 */
    private String proCode;

    public String getProCode(){
        return proCode;
    }

    public void setProCode(String proCode){
        this.proCode = proCode;
    }
    /* 项目优点 */
    private String proMerit;

    public String getProMerit(){
        return proMerit;
    }

    public void setProMerit(String proMerit){
        this.proMerit = proMerit;
    }
    /* 项目名称 唯一 */
    private String proName;

    public String getProName(){
        return proName;
    }

    public void setProName(String proName){
        this.proName = proName;
    }
    /* 其他说明 */
    private String proOthers;

    public String getProOthers(){
        return proOthers;
    }

    public void setProOthers(String proOthers){
        this.proOthers = proOthers;
    }
    /* 项目简介 */
    private String proRemarks;

    public String getProRemarks(){
        return proRemarks;
    }

    public void setProRemarks(String proRemarks){
        this.proRemarks = proRemarks;
    }
    /* 项目风险 */
    private String proRisk;

    public String getProRisk(){
        return proRisk;
    }

    public void setProRisk(String proRisk){
        this.proRisk = proRisk;
    }
    /* 城市调研信息ID */
    private String sgCityId;

    public String getSgCityId(){
        return sgCityId;
    }

    public void setSgCityId(String sgCityId){
        this.sgCityId = sgCityId;
    }

    /* 我方股权出资金额（万元） */
    private BigDecimal stockFund;

    public BigDecimal getStockFund(){
        return stockFund;
    }

    public void setStockFund(BigDecimal stockFund){
        this.stockFund = stockFund;
    }
    /* 我方股权比例（%） */
    private BigDecimal stockPercent;

    public BigDecimal getStockPercent(){
        return stockPercent;
    }

    public void setStockPercent(BigDecimal stockPercent){
        this.stockPercent = stockPercent;
    }
    /* 总投资额（万元） */
    private BigDecimal sumAmount;

    public BigDecimal getSumAmount(){
        return sumAmount;
    }

    public void setSumAmount(BigDecimal sumAmount){
        this.sumAmount = sumAmount;
    }
    /* 建安工程总费用（万元） */
    private BigDecimal sumCae;

    public BigDecimal getSumCae(){
        return sumCae;
    }

    public void setSumCae(BigDecimal sumCae){
        this.sumCae = sumCae;
    }
    /* 项目类型 1=PPP项目 */
    private String proTypes;

    public String getProTypes() {
        return proTypes;
    }

    public void setProTypes(String proTypes) {
        this.proTypes = proTypes;
    }

    /* 最后修改人 */
    private String uptBy;

    public String getUptBy(){
        return uptBy;
    }

    public void setUptBy(String uptBy){
        this.uptBy = uptBy;
    }
    /* 最后修改时间 */
    @DateTimeFormat(pattern = "yyyy-MM-dd") //入参
    private Date uptTime;

    public Date getUptTime(){
        return uptTime;
    }

    public void setUptTime(Date uptTime){
        this.uptTime = uptTime;
    }
    /* 合作周期（年） */
    private BigDecimal workYears;

    public BigDecimal getWorkYears(){
        return workYears;
    }

    public void setWorkYears(BigDecimal workYears){
        this.workYears = workYears;
    }

    /*项目阶段*/
    private String proStage;
    /*项目业态*/
    private String proFormat;

    public String getProStage() {
        return proStage;
    }

    public void setProStage(String proStage) {
        this.proStage = proStage;
    }

    public String getProFormat() {
        return proFormat;
    }

    public void setProFormat(String proFormat) {
        this.proFormat = proFormat;
    }
    /*资审类型*/
    private String qualificationType;

    public String getQualificationType() {
        return qualificationType;
    }

    public void setQualificationType(String qualificationType) {
        this.qualificationType = qualificationType;
    }

    /*单位性质*/
    private String coopProperty;

    //内部关系
    private String  innerRelationship;

    private String  unitId;   //业主单位Id

    private String refProvinceId;

    private String  refCityId;

    private String   refAreaId;

    private String   proAddress;

    private String pkDept;

    private String isTrack;

    private String applyOpinion;

    private BigDecimal jianAnDownRate;
    private BigDecimal compreRate;
    private BigDecimal yearDiscountRate;
    private BigDecimal buildConstrRate;
    private BigDecimal investProfitRate;
    private BigDecimal operatProfit;
    private BigDecimal comperProfit;
    private String financePayGov;
    private BigDecimal upYearRevenue;


    //需要的字段
    private String  processId;
    private String  preId;

    public String getPreId() {
        return preId;
    }

    public void setPreId(String preId) {
        this.preId = preId;
    }

    public String getProcessId() {
        return processId;
    }

    public void setProcessId(String processId) {
        this.processId = processId;
    }

    public BigDecimal getJianAnDownRate() {
        return jianAnDownRate;
    }

    public void setJianAnDownRate(BigDecimal jianAnDownRate) {
        this.jianAnDownRate = jianAnDownRate;
    }

    public BigDecimal getCompreRate() {
        return compreRate;
    }

    public void setCompreRate(BigDecimal compreRate) {
        this.compreRate = compreRate;
    }

    public BigDecimal getYearDiscountRate() {
        return yearDiscountRate;
    }

    public void setYearDiscountRate(BigDecimal yearDiscountRate) {
        this.yearDiscountRate = yearDiscountRate;
    }

    public BigDecimal getBuildConstrRate() {
        return buildConstrRate;
    }

    public void setBuildConstrRate(BigDecimal buildConstrRate) {
        this.buildConstrRate = buildConstrRate;
    }

    public BigDecimal getInvestProfitRate() {
        return investProfitRate;
    }

    public void setInvestProfitRate(BigDecimal investProfitRate) {
        this.investProfitRate = investProfitRate;
    }

    public BigDecimal getOperatProfit() {
        return operatProfit;
    }

    public void setOperatProfit(BigDecimal operatProfit) {
        this.operatProfit = operatProfit;
    }

    public BigDecimal getComperProfit() {
        return comperProfit;
    }

    public void setComperProfit(BigDecimal comperProfit) {
        this.comperProfit = comperProfit;
    }

    public String getFinancePayGov() {
        return financePayGov;
    }

    public void setFinancePayGov(String financePayGov) {
        this.financePayGov = financePayGov;
    }

    public BigDecimal getUpYearRevenue() {
        return upYearRevenue;
    }

    public void setUpYearRevenue(BigDecimal upYearRevenue) {
        this.upYearRevenue = upYearRevenue;
    }

    public String getIsTrack() {
        return isTrack;
    }

    public void setIsTrack(String isTrack) {
        this.isTrack = isTrack;
    }

    public String getApplyOpinion() {
        return applyOpinion;
    }

    public void setApplyOpinion(String applyOpinion) {
        this.applyOpinion = applyOpinion;
    }

    public String getPkDept() {
        return pkDept;
    }

    public void setPkDept(String pkDept) {
        this.pkDept = pkDept;
    }

    public String getUnitId() {
        return unitId;
    }

    public void setUnitId(String unitId) {
        this.unitId = unitId;
    }

    public String getRefCityId() {
        return refCityId;
    }

    public void setRefCityId(String refCityId) {
        this.refCityId = refCityId;
    }

    public String getRefProvinceId() {
        return refProvinceId;
    }

    public void setRefProvinceId(String refProvinceId) {
        this.refProvinceId = refProvinceId;
    }

    public String getRefAreaId() {
        return refAreaId;
    }

    public void setRefAreaId(String refAreaId) {
        this.refAreaId = refAreaId;
    }

    public String getProAddress() {
        return proAddress;
    }

    public void setProAddress(String proAddress) {
        this.proAddress = proAddress;
    }

    public String getCoopProperty() {
        return coopProperty;
    }

    public void setCoopProperty(String coopProperty) {
        this.coopProperty = coopProperty;
    }

    public String getInnerRelationship() {
        return innerRelationship;
    }

    public void setInnerRelationship(String innerRelationship) {
        this.innerRelationship = innerRelationship;
    }

    //所属公司
    private String coopName;

    public String getCoopName() {
        return coopName;
    }

    public void setCoopName(String coopName) {
        this.coopName = coopName;
    }

    //申请部门
    private  String deptName;

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    /*项目城市*/
    private String cityName;

    public String getCityName() {
        return cityName;
    }

    public void setCityName(String cityName) {
        this.cityName = cityName;
    }

    /*一般公共预算收入*/
    private BigDecimal pubIncome;

    public BigDecimal getPubIncome() {
        return pubIncome;
    }

    public void setPubIncome(BigDecimal pubIncome) {
        this.pubIncome = pubIncome;
    }


    public String address;

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    //项目阶段
    private List<Map<String, String>> projectChannel = ProProcessDetailTypeEnum.asList();

    public List<Map<String, String>> getProjectChannel() {
        return projectChannel;
    }

    public void setProjectChannel(List<Map<String, String>> projectChannel) {
        this.projectChannel = projectChannel;
    }

    /*建安工程总费用*/
    private BigDecimal rowSum;

    public BigDecimal getRowSum() {
        return rowSum;
    }

    public void setRowSum(BigDecimal rowSum) {
        this.rowSum = rowSum;
    }
}
